package com.itheima.arrlist;

import java.util.ArrayList;

public class ArrayListDemo05 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("test");
        list.add("test");
        list.add("1234");
        list.add("test");
        list.add("test");
        //根据元素删除,只能删除元素中的一个,要用if判断来删
//         list.remove("test");
        for (int i = 0; i < list.size(); i++) {
            String s = list.get(i);
            /*为什么要用test常量去调方法.因为用变量s调方法的话.变量s如果接收的常量就是null.
             调用方法很容易出空指针异常.所以尽量用常量来调用方法
            */
            if ("test".equals(s)) {
                list.remove(i);
                //为什么要用i--;每次删除一个索引,后面的索引就往上移一位.所以删除一个test后,后面的test往上移了一位,指针往下移了一位,就没有
                //删除掉,用i--的话,指针就回退一位.重新删除这个test
                i--;
            }
        }

        System.out.println(list);
    }
}
